package cn.ecut;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * @author lujiapeng
 * @className JDBC05
 * @description TODO
 * @date 2020/9/7 17:06
 **/
public class JDBC05 {
    public static void main(String[] args) throws  Exception{
        // 加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        // 获取连接
        String url = "jdbc:mysql://localhost:3306/ecut?serverTimezone=Asia/Shanghai" ;
        String username = "root" ;
        String password = "root" ;
        Connection connection = DriverManager.getConnection(url, username, password);
        // 关闭自动提交
        connection.setAutoCommit( false );
        // 获取 Statement 对象
        String SQL = "insert into country( countryname , countrycode ) values ( ? , ? )" ;
        PreparedStatement preparedStatement = connection.prepareStatement(SQL);
        // 填充参数
        try {
            preparedStatement.setString(1 , "伊拉克");
            preparedStatement.setString(2 , "YLK");
            int j= preparedStatement.executeUpdate();
            System.out.println( j );
            // 获取事务隔离级别
            System.out.println( connection.getTransactionIsolation() );
            // 事务一般都是多条SQL 语句，进行执行。所以，这里可以有 任意条 SQL 进行执行。

            // 对事务进行提交
            connection.commit();
        } catch (SQLException e) {
            e.printStackTrace();
            // 如果出现异常，则对 整个事务，进行回滚。
            connection.rollback();
        }
        // 获取结果

        // 释放资源
        preparedStatement.close();
        connection.close();
    }
}
